home *** CD-ROM | disk | FTP | other *** search
- #ifndef _MMCOMPLB_HPP
- #define _MMCOMPLB_HPP
-
- // TODO: FIXME: DJB put this in, ITB will take out
- #pragma warning 849 9
-
- #include "mmcommon.hpp"
- #include "mmlexus.hpp"
-
- class MetaObject;
- class MMReferenceNode;
- class WStringList;
- class DTFormEditBase;
- class MTPropertySheetBase;
- class DTWForm;
- struct MMLibraryData;
- struct MMPropertySheetThunk;
- struct MMFunctionData;
- class DTRegistryKey;
- class DTCodeBlockBase;
- class MTImageInterface;
- class MMEventListener;
- class IDSSave;
- class IDSLoad;
- class SaveVersion;
- class MMJavaInterface;
-
- class DTObject;
- class DTWObject;
-
- class MetaObjectHashTable;
-
-
- struct WDMLibraryData {
- WUInt numFunctions[ MMFT_NumFunctionTypes ];
- MMFunctionData * functions[ MMFT_NumFunctionTypes ];
- };
-
-
- class METAEXPORTCLASSDEF MMComponentLib : public MMCommon {
- public:
- MMComponentLib( WDMLibraryData * data );
- virtual ~MMComponentLib();
-
- virtual WBool Initialize();
- virtual WBool Finalize();
- virtual int NumMetaObjects();
- virtual MetaObject * GetMetaObject( unsigned i );
-
- virtual WForm * MakeObjectInspector(
- WWindow * parent,
- const WRect & r,
- const WChar * title,
- WStyle stl, WStyle ex_style ) const;
- virtual WForm * GetObjectInspector() const;
- virtual void CloseObjectInspector();
-
- virtual void MoveToEventPage() const;
- virtual void MoveToPropertyPage() const;
- virtual void ObjectInspectorSelect(
- WUInt numObjects,
- DTObject ** ) const;
- virtual void ObjectInspectorKey( WCharacterPressEventData * data );
- virtual void RefreshProperties( WBool recreate=FALSE ) const;
-
- virtual WULong GetCompDLLVersion() const;
- virtual WULong GetLibraryVersion() const;
- virtual WConstantString GetRefTag() const;
- virtual WConstantString GetDescription() const;
- virtual WConstantString GetScopeName() const;
- virtual WConstantString GetIncludePath() const;
- virtual WBool GetIsOle() const;
- virtual WConstantString GetContextHelpFile() const;
-
- virtual MMLanguage GetLanguage() const;
-
- virtual WUInt GetNumIncludes() const;
- virtual WConstantString GetInclude( WUInt idx ) const;
-
- virtual const MMReferenceNode * GetReferenceRoot();
-
- virtual WBool operator==( const MMComponentLib & o ) const;
-
- virtual const WModule & GetModule() const;
- virtual WBool SetModule( const WModule & );
-
- virtual void GenHeaderNames( WStringList & ) const;
-
- virtual void SetLexusInterface( MMLexusInterfaceBase * );
- virtual MMLexusInterfaceBase * GetLexusInterface() const;
- virtual MTPropertySheetBase * MakePropertySheet( MMLexusInterfaceBase::Sheet,
- const MMPropertySheet * ) const;
- virtual DTFormEditBase * FindForm( DTObject * dttabctrl,
- const WString &,
- WWindow *parent = NULL,
- WTabControl *tc = NULL ) const;
- virtual DTFormEditBase * CreateTabForm( DTObject * dttabctrl,
- WString &formName,
- WString &className,
- WWindow *parent,
- WTabControl *tabcontrol ) const;
- virtual WBool GetImage(
- DTObject * obj,
- const WString & name,
- WBitmap & bmp,
- WIcon & ico,
- WCursor & cur ) const;
- virtual MTImageInterface * GetImageInterface();
-
- virtual IDSSave * GetSaveInterface( const SaveVersion & );
- virtual IDSLoad * GetLoadInterface( const SaveVersion & );
-
- virtual WUInt GetNumEnumerators() const;
- virtual const MMEnumerator * GetEnumerator( MMIndex idx ) const;
- virtual WUInt GetNumTypes() const;
- virtual const MMType * GetType( MMIndex idx ) const;
- virtual WUInt GetNumEvents() const;
- virtual const MMEvent * GetEvent( MMIndex idx ) const;
- virtual WUInt GetNumJavaInterfaces() const;
- virtual const MMJavaInterface * GetJavaInterface( MMIndex idx ) const;
- virtual WUInt GetNumEventOverrides() const;
- virtual const MMEventOverride * GetEventOverride( MMIndex idx ) const;
- virtual WUInt GetNumEventListeners() const;
- virtual const MMEventListener * GetEventListener( MMIndex idx ) const;
- virtual WUInt GetNumParameters() const;
- virtual const MMParameter * GetParameter( MMIndex idx ) const;
- virtual WUInt GetNumParameterSets() const;
- virtual const MMParameterSet * GetParameterSet( MMIndex idx ) const;
- virtual WUInt GetNumStyles() const;
- virtual const MMStyle * GetStyle( MMIndex idx ) const;
- virtual WUInt GetNumProperties() const;
- virtual const MMProperty * GetProperty( MMIndex idx ) const;
- virtual WUInt GetNumMethods() const;
- virtual const MMMethod * GetMethod( MMIndex idx ) const;
- virtual WUInt GetNumPropertyGroups() const;
- virtual const MMPropertyGroup * GetPropertyGroup( MMIndex idx ) const;
- virtual WUInt GetNumPropertyControls() const;
- virtual const MMPropertyControl *GetPropertyControl( MMIndex idx ) const;
- virtual WUInt GetNumPropertySheets() const;
- virtual const MMPropertySheet * GetPropertySheet( MMIndex idx ) const;
- virtual WUInt GetNumComponents() const;
- virtual const MMComponent * GetComponent( MMIndex idx ) const;
- virtual WUInt GetNumReferenceNodes() const;
- virtual const MMReferenceNode * GetReferenceNode( MMIndex idx ) const;
- virtual const MMString * GetStringTable( MMIndex ) const;
- virtual MMIndex GetIndex( MMIndex ) const;
- virtual WBool GetString( MMString, WConstantString & str ) const;
-
- virtual WUInt GetNumFunctions( MMFunctionType ) const;
- virtual void * GetFunction( MMFunctionType, WUInt ) const;
- virtual WString GetFunctionName( MMFunctionType, WUInt ) const;
- virtual void * FindFunction( MMFunctionType, const WString & ) const;
-
- virtual MMSetPropFn GetSetPropFn( MMSetFnIndex idx ) const;
- virtual MMGetPropFn GetGetPropFn( MMGetFnIndex idx ) const;
- virtual MMMakePropSheet GetMakePropSheetFn( MMPropSheetFnIndex idx ) const;
- virtual MMMakePropControl GetMakePropControlFn( MMPropCtrlFnIndex idx ) const;
- virtual MMMakeDTObject GetMakeDTObjectFn( MMDTInstFnIndex idx ) const;
- virtual MMMakeDTType GetMakeDTTypeFn( MMDTTypeFnIndex idx ) const;
- virtual MMPropDefault GetPropDefFn( MMPropDefFnIndex idx ) const;
- virtual MMPropMakeEditor GetPropMakeEditorFn( MMPropMakeEditorFnIndex idx ) const;
- virtual WRange GetDataRange();
-
- virtual WUInt GetRefCount() const;
- virtual void IncrementRefCount();
- virtual void DecrementRefCount();
-
- virtual MMComponentLib * GetFirstLibrary() const;
- virtual MMComponentLib * GetDTWClassLibrary() const;
- virtual MMComponentLib * GetNextLibrary() const;
- virtual MMComponentLib * FindLibrary( const WString & name ) const;
-
- virtual const MetaObject * FindComponentInLibraries( const WString & fullName );
- virtual const MetaObject * FindComponentWithinLibrary( const WString & shortName );
-
- static const MetaObject * FindComponent( const WString &, WBool full );
- static const MetaObject * FindComponent( const WString &, MMComponentLib * lib=NULL );
- static MMComponentLib * FindLibrary( const MMCommon * );
- static MMComponentLib * findLibraryByScopeName( const WString & name, MMComponentLib * startAt=NULL );
- static MMComponentLib * FindLibrary( WInt );
-
- protected:
- static MMComponentLib * _DTWClassFirst;
- static MMComponentLib * _First;
- WDMLibraryData * _dmData;
- WModule _theModule;
- static MMLexusInterfaceBase *_lexus;
- WRange _libDataRange;
- MMComponentLib * _next;
- WInt _referenceCount;
- MetaObjectHashTable * _metaHash;
-
- MMEnumerator * _enumerators;
- MMType * _types;
- MMEvent * _events;
- MMJavaInterface * _javaInterfaces;
- MMEventOverride * _eventOverrides;
- MMEventListener * _eventListeners;
- MMStyle * _styles;
- MMProperty * _properties;
- MMMethod * _methods;
- MMParameter * _parameters;
- MMParameterSet * _parameterSets;
- MMPropertyGroup * _propertyGroups;
- MMPropertyControl * _propertyControls;
- MMPropertySheet * _propertySheets;
- MetaObject * _components;
- MMReferenceNode * _referenceNodes;
-
- const MMPropertySheetThunk *_propSheetThunk;
- const MMPropertySheet ** _propSheetReloc;
- const MMString * _stringTables;
- const MMIndex * _indices;
- const WChar * _strings;
- WUInt _stringLen;
- const WByte * _bufferData;
- WUInt _bufferLen;
- const MMLibraryData * _libData;
- };
-
- extern "C" {
- typedef MMComponentLib * __export __stdcall (*MMGetComponentLibFn)();
- #define MMGETCOMPONENTLIB "_MMGetComponentLib@0"
- };
-
- #define MMRC_WD_CONFIG "WDCFG"
-
- // TODO: FIXME: DJB put this in, ITB will take out
- #pragma warning 849 1
-
- #endif // _MMCOMPLB_HPP
-